package com.example.exception;


import ch.qos.logback.core.util.StringUtil;
import com.example.pojo.Result;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
//全局捕获异常，避免服务端直接抛出堆栈信息给客户端，统一封装为友好错误响应
@RestControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler(Exception.class)
//    e.printStackTrace()：在控制台打印异常详情（生产环境建议替换为日志框架如 log.error）。
//StringUtils.hasLength(e.getMessage())：检查异常是否有错误信息。
//如果有：返回异常信息（如 e.getMessage()）。
//如果无：返回默认提示 "操作失败"。
    public Result handlerException(Exception e){
        e.printStackTrace();
        return Result.error(StringUtils.hasLength(e.getMessage())? e.getMessage() : "操作失败");
    }
}
